What kind of programmer are you? In the olde days, "real"programmers wrote every line of code in every program they delivered to the customer. Today, you may not have that luxury, since most of us are asked to deliver lots of customer solutions in a short time. Your goal should probably be to write as little code as possible, and reuse as much of other people's work as possible. If that is true, then you need to find reusable components created by other good programmers, and incorporate their components into your solutions.
The chart below lists some of the available part editors and viewers, and indicates if they support the interpart-communication features of embedding, scripting, and linking.
This following sections will describe components that have been created by other good programmers, and tell you where to find some of those components. The order listed below is alphabetical.
You should check Apple's OpenDoc product Web page for the latest information on some cool OpenDoc-related products.
You can get all of Apple's Cyberdog parts for Power Macintosh from either the Cyberdog SDK on CD-ROM and the Cyberdog Web site. The pieces provided with Cyberdog 1.0 include:
See the Case Study on Web Browsers in this course for more details on Cyberdog.
- Starting Point container with a buttons to access the Notebook, Web browser, etc.
- Notebook to keep track of URLs.
- Log to keep A history of where you are and where you have been.
- CyberButtons that can be customized to access any URL.
- Mail support.
- Web browser.
- News reader.
- ftp support.
Apple's KickStart part editors and viewers will be provided free with OpenDoc for the Macintosh. The ones currently included with the OpenDoc SDK are:
- KickStart Button for playing a sound file, executing a compiled AppleScript, opening a CyberItem, or using text-to-speech synthesis.
- KickStart Image Viewer for displaying PICT, GIF, JPEG, and TIFF files.
- KickStart QuickDraw3D Viewer for displaying and manipulating QD3D metafiles.
- KickStart Draw for drawing 2D vector graphics, and containing other parts. A screen shot is shown below.
- KickStart QuickTime Viewer for displaying QuickTime and QuickTime VR movies.
- KickStart SampleCode Text Editor for editing simple formatted text. This will be replaced by a better text editor in the future.
Other parts will also be added to this suite, and will be available from the Apple's OpenDoc web site. Part editors that are planned include:
KickStart Draw with movie and text embedded.
- KickStart Write for editing text with embedded parts.
- KickStart Sound Annotation for recording and playing sound annotations.
- KickStart Sticky for embedded sticky notes.
The OpenDoc Development Framework ships with a wide range of sample parts. These are generally not intended for end-users, but they do come with complete source code, so you can modify them as needed for your own work. Samples produced by the ODF engineering team include:
Samples sued in Developer University's Creating OpenDoc Parts class are also shipped with ODF. These include:
- ODFBitmap for viewing PICT data and files.
- ODFButton for playing a sound file or a compiled AppleScript.
- ODFClock for showing the time in analog or digital display.
- ODFContainer for embedded other parts.
- ODFDraw for embedding other parts along with the ability to draw 2D vector graphics. KickStart Draw was derived from this sample.
- ODFEmbed for showing how to embed a single part displayed in multiple facets.
- ODFForm for showing how to create a complex scrollable form containing buttons, pop-up menus, text fields. pictures, and other subviews.
- ODFHello for showing how to create a very simple part editor.
- ODFNothing for showing how to create the simplest OpenDoc part.
- ODFTable for embedding other parts in a two-dimensional grid. A screen shot is shown below.
ODFTable with embedded partsODF can be found on Apple's OpenDoc SDK, and also on Apple's OpenDoc Web site.
Apple's OpenDoc SDK sometimes includes the source code to various sample parts.
Apple's DR 5 release of OpenDoc includes at least two sample SOM libraries. These libraries provide simple but useful functionality in a compiler and language-independent shared library. They can easily be accessed from OpenDoc part editors, or from ordinary applications. These can be found in the Developer University folder inside the ODF folder. These libraries are:
- Finance Lib which provides some simple financial functions.
- Talker Lib which supports Macintosh text-to-speech synthesis.
Apple's OpenDoc DR5 SDK includes over 20 different part editors. Many of these are in early alpha or beta form, but you can often use them as test or place holder components when developing new projects. Parts included with DR5 include:
- ButtonPart
- C-Graph
- C-Table
- CheckBoxPart
- LedPart
- MaskingContainer
- ModalDraw
- MovingContainer
- NameDropper
- ODLisp
- Outliner
- PartBase
- PictureViewer 1.0
- PM Finder Plug-In
- PopupPart
- R66USPart
- RI_Button
- SASPart
A major issue involves licensing of components. In other words, if you find a component written by someone else, is it legal for you to ship that component as part of your customer solution? If it is legal, do you have to sign a license agreement? Do you have to pay a one-time fee, or a per use license?
The answers differ depending on the source of the component, so be sure to get these answers before you count on using parts that you did not develop.